package com.yuyou.activity.comm.service.pay.service;

import com.yuyou.activity.comm.service.vo.req.ReqCreateOrder;
import com.yuyou.activity.comm.service.vo.req.ReqCreateOrderNotice;
import com.yuyou.activity.comm.service.vo.req.ReqRefundOrderNotice;
import com.yuyou.activity.comm.service.vo.req.ReqRufundOrder;
import com.yuyou.activity.util.bean.ResBoolSimpleInfo;

public interface IZyPayService {

	/**
	 * 创建订单申请
	 * @param reqCreateOrder
	 * @return
	 * @throws Exception
	 */
	ResBoolSimpleInfo<String> createOrder(ReqCreateOrder reqCreateOrder)
			throws Exception;

	/**
	 * 订单补偿
	 * @param orderId
	 * @return
	 * @throws Exception
	 */
	ResBoolSimpleInfo<String> queryOrder(String orderId) throws Exception;

	/**
	 * 创建订单成功通知
	 * @param reqCreateOrderNotice
	 * @return
	 */
	ResBoolSimpleInfo<String> createOrderNotice(
			ReqCreateOrderNotice reqCreateOrderNotice);

	/**
	 * 退款申请
	 * @param reqRufundOrder
	 * @return
	 */
	ResBoolSimpleInfo<Integer> refundAllOrder(ReqRufundOrder reqRufundOrder)throws Exception;

	/**
	 * 部分退款申请
	 * @param reqRufundOrder
	 * @return
	 */
	ResBoolSimpleInfo<Integer> refundPartOrder(ReqRufundOrder reqRufundOrder , Long amount)throws Exception;

	/**
	 * 退款结果通知
	 * @param reqRefundOrderNotice
	 * @return
	 */
	ResBoolSimpleInfo<Integer> refundOrderNotice(
			ReqRefundOrderNotice reqRefundOrderNotice);


	
	
}